Column

Atmospheric carbon-dioxide concentration

Mean temperature difference from 1850-1900

Row

Ocean heat content difference from 1981-2010

Sea level difference from 1981-2010

---
title: "Global"
output: 
  flexdashboard::flex_dashboard:
    theme: 
      version: 4
      primary: "white"
      navbar-bg: "#002231"
    source_code: embed
---

```{r setup, include=FALSE}
library(dygraphs)
library(xts)
library(lubridate)
library(dplyr)
library(tidyr)
library(leaflet)
library(sp)
library(raster)
library(mapview)
library(leafsync)
library(glue)
library(htmltools)

#author: Wanda Bodnar

## Data sources: 
#https://climate.metoffice.cloud/dashboard.html,
#https://www.metoffice.gov.uk/pub/data/weather/uk/climate/datasets/Tmean/date/UK.txt,
#https://www.metoffice.gov.uk/pub/data/weather/uk/climate/stationdata/heathrowdata.txt,
##https://www.kaggle.com/datasets/noahx1/london-weather-2000-2023,
#https://psmsl.org/data/, 
#https://www.sciencedirect.com/science/article/pii/S0079661121000112?via%3Dihub#s0180, 
#https://uk-cri.org/
```


Column {data-width=550}
-------------------------------------
### Atmospheric carbon-dioxide concentration

```{r}
mauna <- read.csv(url("https://climate.metoffice.cloud/formatted_data/co2_Mauna%20Loa%20CO2.csv"))
mauna$Year <- as.numeric(mauna$Year)
mauna <- mauna %>%
  group_by(Year) %>%
  dplyr::summarize(Mean_Mauna = mean(Mauna.Loa.CO2..ppm., na.rm = TRUE))

NOAA <- read.csv(url("https://climate.metoffice.cloud/formatted_data/co2_NOAA%20CO2.csv"))
NOAA$Year <- as.numeric(NOAA$Year)
NOAA <- NOAA %>%
  group_by(Year) %>%
  dplyr::summarize(Mean_NOAA = mean(NOAA.CO2..ppm., na.rm = TRUE))

WDCGG <- read.csv(url("https://climate.metoffice.cloud/formatted_data/co2_WDCGG%20CO2.csv"))
WDCGG$Year <- as.numeric(WDCGG$Year)
WDCGG <- WDCGG %>%
  group_by(Year) %>%
  dplyr::summarize(Mean_WDCGG = mean(WDCGG.CO2..ppm., na.rm = TRUE))

carbon <- merge(mauna, NOAA, by = "Year", all = T)

carbon <- merge(carbon, WDCGG, by = "Year")

names(carbon)[names(carbon) == "Mean_Mauna"] <- "Mauna Loa"
names(carbon)[names(carbon) == "Mean_NOAA"] <- "NOAA"
names(carbon)[names(carbon) == "Mean_WDCGG"] <- "WDCGG"

dygraph(carbon, main = "") %>%
  dyOptions(colors = RColorBrewer::brewer.pal(3, "Set3")) %>%
  dyOptions(fillGraph = TRUE, fillAlpha = 0.1) %>%
  dyAxis("y", label = "Parts per million (ppm)") %>%
  dyRangeSelector() 
```

### Mean temperature difference from 1850-1900

```{r}
HadCRUT5 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/gmt_HadCRUT5.csv"))
HadCRUT5$Year <- as.numeric(HadCRUT5$Year)

NOAA <- read.csv(url("https://climate.metoffice.cloud/formatted_data/gmt_NOAAGlobalTemp.csv"))
NOAA$Year <- as.numeric(NOAA$Year)

berkeley <- read.csv(url("https://climate.metoffice.cloud/formatted_data/gmt_Berkeley%20Earth.csv"))
berkeley$Year <- as.numeric(berkeley$Year)

temp <- merge(HadCRUT5, NOAA, by = "Year", all = T)

temp <- merge(temp, berkeley, by = "Year", all = T)

temp <- subset(temp, select= -c(HadCRUT5.uncertainty, NOAAGlobalTemp.uncertainty, Berkeley.Earth.uncertainty))

names(temp)[names(temp) == "HadCRUT5..degC."] <- "Met Office"
names(temp)[names(temp) == "NOAAGlobalTemp..degC."] <- "NOAA"
names(temp)[names(temp) == "Berkeley.Earth..degC."] <- "Berkeley Earth"

dygraph(temp, main = "") %>%
  dyOptions(colors = RColorBrewer::brewer.pal(3, "Dark2")) %>%
  dyOptions(fillGraph = TRUE, fillAlpha = 0.1) %>%
  dyAxis("y", label = "Temperature (°C)") %>%
  dyRangeSelector() 
```   

Row {data-height=500}
-------------------------------------

### Ocean heat content difference from 1981-2010

```{r}
EN.4.2.2.c14 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/ohc_EN.4.2.2.c14.csv"))
EN.4.2.2.c14$Year <- as.numeric(EN.4.2.2.c14$Year)

Levitus <- read.csv(url("https://climate.metoffice.cloud/formatted_data/ohc_Levitus.csv"))
Levitus$Year <- as.numeric(Levitus$Year)

EN.4.2.2.c13 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/ohc_EN.4.2.2.c13.csv"))
EN.4.2.2.c13$Year <- as.numeric(EN.4.2.2.c13$Year)

EN.4.2.2.g10 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/ohc_EN.4.2.2.g10.csv"))
EN.4.2.2.g10$Year <- as.numeric(EN.4.2.2.g10$Year)

EN.4.2.2.l09 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/ohc_EN.4.2.2.l09.csv"))
EN.4.2.2.l09$Year <- as.numeric(EN.4.2.2.l09$Year)

IAP <- read.csv(url("https://climate.metoffice.cloud/formatted_data/ohc_IAP.csv"))
IAP$Year <- as.numeric(IAP$Year)

JMA <- read.csv(url("https://climate.metoffice.cloud/formatted_data/ohc_JMA.csv"))
JMA$Year <- as.numeric(JMA$Year)

oceanheat <- merge(EN.4.2.2.c14, Levitus, by = "Year", all = T)

oceanheat <- merge(oceanheat, EN.4.2.2.c13, by = "Year", all = T)

oceanheat <- merge(oceanheat, EN.4.2.2.g10, by = "Year", all = T)

oceanheat <- merge(oceanheat, EN.4.2.2.l09, by = "Year", all = T)

oceanheat <- merge(oceanheat, IAP, by = "Year", all = T)

oceanheat <- merge(oceanheat, JMA, by = "Year", all = T)

oceanheat <- subset(oceanheat, select= -c(EN.4.2.2.c14.uncertainty, 
                                        Levitus.uncertainty,
                                        EN.4.2.2.c13.uncertainty,
                                        EN.4.2.2.g10.uncertainty,
                                        EN.4.2.2.l09.uncertainty,
                                        IAP.uncertainty,
                                        JMA.uncertainty))

names(oceanheat)[names(oceanheat) == "EN.4.2.2.c14..10ZJ."] <- "EN.4.2.2.c14"
names(oceanheat)[names(oceanheat) == "Levitus..10ZJ."] <- "Levitus"
names(oceanheat)[names(oceanheat) == "EN.4.2.2.c13..10ZJ."] <- "EN.4.2.2.c13"
names(oceanheat)[names(oceanheat) == "EN.4.2.2.g10..10ZJ."] <- "EN.4.2.2.g10"
names(oceanheat)[names(oceanheat) == "EN.4.2.2.l09..10ZJ."] <- "EN.4.2.2.l09"
names(oceanheat)[names(oceanheat) == "IAP..10ZJ."] <- "IAP"
names(oceanheat)[names(oceanheat) == "JMA..10ZJ."] <- "JMA"

dygraph(oceanheat, main = "") %>%
  dyOptions(colors = RColorBrewer::brewer.pal(7, "Dark2")) %>%
  dyOptions(fillGraph = TRUE, fillAlpha = 0.1) %>%
  dyAxis("y", label = "10<sup>22</sup> Joules") %>%
  dyRangeSelector() 
```

### Sea level difference from 1981-2010

```{r}
palmer <- read.csv(url("https://climate.metoffice.cloud/formatted_data/sea_level_lt_Palmer%20et%20al.%202021.csv"))
palmer$Year <- as.numeric(palmer$Year)

CW2011 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/sea_level_lt_CW2011.csv"))
CW2011$Year <- as.numeric(CW2011$Year)

HA2015 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/sea_level_lt_HA2015.csv"))
HA2015$Year <- as.numeric(HA2015$Year)

DA2019 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/sea_level_lt_DA2019.csv"))
DA2019$Year <- as.numeric(DA2019$Year)

FR2020 <- read.csv(url("https://climate.metoffice.cloud/formatted_data/sea_level_lt_FR2020.csv"))
FR2020$Year <- as.numeric(FR2020$Year)

sealevel <- merge(palmer, CW2011, by = "Year", all = T)

sealevel <- merge(sealevel, HA2015, by = "Year", all = T)

sealevel <- merge(sealevel, DA2019, by = "Year", all = T)

sealevel <- merge(sealevel, FR2020, by = "Year", all = T)

sealevel <- subset(sealevel, select= -c(Palmer.et.al..2021.uncertainty, 
                                          CW2011.uncertainty,
                                          HA2015.uncertainty,
                                          DA2019.uncertainty,
                                          FR2020.uncertainty))

names(sealevel)[names(sealevel) == "Palmer.et.al..2021..mm."] <- "Palmer et al. 2021"
names(sealevel)[names(sealevel) == "CW2011..mm."] <- "CW2011"
names(sealevel)[names(sealevel) == "HA2015..mm."] <- "HA2015"
names(sealevel)[names(sealevel) == "DA2019..mm."] <- "DA2019"
names(sealevel)[names(sealevel) == "FR2020..mm."] <- "FR2020"

dygraph(sealevel, main = "") %>%
  dyOptions(colors = RColorBrewer::brewer.pal(5, "Set2")) %>%
  dyOptions(fillGraph = TRUE, fillAlpha = 0.1) %>%
  dyAxis("y", label = "Milimetres (mm)") %>%
  dyRangeSelector() 
```